Signaling to application lack of requested bandwidth

ABSTRACT

A system for signaling an application when a requested data rate and Quality of Service cannot be achieved using OFDM wireless data transmission, and the application proceeds by either renegotiating QoS and data rate, or waiting until they requested rate and QoS are met.

RELATED APPLICATIONS

This Application is a Continuation of and claims benefit from U.S.patent application Ser. No. 14/104,027 that was filed Dec. 12, 2013, andthat is a Continuation of U.S. patent application Ser. No. 13/452,637(U.S. Pat. No. 8,923,340), filed Apr. 20, 2012 (issued Dec. 30, 2014),and that is a Continuation of U.S. patent application Ser. No.11/433,804 (U.S. Pat. No. 8,189,621), filed May 12, 2006 (issued May 29,2012), each of which is incorporated herein by reference in its entirety

BACKGROUND OF INVENTION

1. Field of Invention

The invention relates generally to wireless communication and moreparticularly to a system for notifying a communication application thata requested data rate and is quality of service are not available.

2. Discussion of Related Art

Frequency Division Multiplexing (FDM) is a well known process by whichmultiple signals are modulated on different frequency carrier waves. FDMhas been used for decades in radio and television broadcast. Radio andtelevision signals are sent and received on different frequencies, eachcorresponding to a different “channel.”

Orthogonal Frequency Division Multiplexing (OFDM) has also been known inthe art at least since the late 1960's. OFDM, a single transmittertransmits simultaneously on many different orthogonal frequencies.Orthogonal frequencies are frequencies that are independent with respectto the relative phase relationship between the frequencies. In OFDM, theavailable bandwidth is subdivided into a number of equal-bandwidth“subchannels.” OFDM is advantageous for wireless communication becauseit has robust performance in multipath fading. In general, OFDM basedsystems do not require an equalizer for reliable communications. OFDM isemployed in many standards used today for wireless communication. Forexample, both the IEEE 802.11a wireless LAN Standard and the 802.11gwireless LAN standard rely on an implementation of OFDM for signaltransmission. The next generation 802.11n wireless LAN Standard, UWBwireless PAN Standard, and mobile WiMAX all use OFDM modulation for highrate communications. One early reference describing OFDM is R. W. Chang,Synthesis of band-limited orthogonal signals for multi-channel datatransmission, Bell System Technical Journal (46), 1775-1796 (1966).

OFDM thus functions by breaking one high speed data stream into a numberof lower-speed data streams, which are then transmitted in parallel(i.e., simultaneously). Each lower speed stream is used to modulate asubcarrier. This creates a “multi-carrier” transmission by dividing awide frequency band (or channel) into a number of narrower frequencybands (or subchannels), each modulated with a signal stream. By sendingmultiple signal streams simultaneously, each at a lower rate, multipathor Raleigh fading can be reduced or eliminated without decreasing theoverall rate of transmission.

OFDM is also implemented in a variety of communications systemsoccurring over wires. For example, OFDM is used in Asymmetric DigitalSubscriber Line (ADSL) connections that adhere to the ITU G.992.1standard. In the ADSL context, OFDM is sometimes referred to as DiscreteMultitone Modulation, or DMT. OFDM is also often used to modulatesignals to be transmitted over power wires. For example, the HomePlugpowerline alliance established a standard for communication over powerlines in a home. The HomePlug standard uses OFDM modulation.

Over the past several years, numerous network applications have comeinto common use that require certain transmission characteristics towork effectively. For example, Voice-over-IP (VoIP) communication, alsoknown as IP Telephony, Internet Telephony, or Broadband Phone, is atelephone-like system that works entirely or partially over the Internetby converting a voice signal into a digital signal that can betransmitted in Internet packets. VoIP traffic requires a minimum datatransfer rate to be useable for communication. Similarly, thetransmission of video content (for example, video teleconferencing orstreaming multimedia) over a network typically requires certain minimumtransmission characteristics to be viewable.

When the Internet was first created, there were no systems in place toinsure minimum transmission characteristics. Over time, standards forQuality of Service (QoS) have developed to provide guaranteedtransmission characteristics such as minimum performance or throughput,or maximum latency. QoS can be implemented within a local network orover a broader area. One reference discussing QoS is the IEEE 802.1pstandard, which is implemented at the media access control (MAC) framinglayer on the protocol stack.

SUMMARY OF INVENTION

This Summary provides an illustrative context for aspects of theinvention, in a simplified form. It is not intended to be used todetermine the scope of the claimed subject matter. Aspects of theinvention are described more fully below in the Detailed Description.

Described herein are systems and methods for selecting OFDM transmissionparameters based on a data rate and Quality of Service requested by anapplication and signaling to the application if the requested data rateand Quality of Service are not possible. The requested data rate andQuality of Service are mapped to a set of communications parameters,noise level on the OFDM subchannels is detected, and the applicationreceives a signal if the communication parameters cannot be achievedgiven the noise conditions on the OFDM subchannels. The application canthen decide whether it will renegotiate its requested data rate andQuality of Service, or wait until such request can be accommodated bythe channel.

BRIEF DESCRIPTION OF DRAWINGS

The accompanying drawings are not intended to be drawn to scale. In thedrawings, each identical or nearly identical component that isillustrated in various is figures is represented by a like numeral. Forpurposes of clarity, not every component may be labeled in everydrawing. In the drawings:

FIG. 1 is a spectrum diagram showing the subdivision of the channelbandwidth to be used into several subchannels of equal width.

FIG. 2 is a block diagram of a multi-carrier OFDM digital communicationsystem.

FIG. 3 is a flow diagram illustrating the selection by an application ofa data rate and a Quality of Service.

FIG. 4 is a flow diagram illustrating one embodiment of the invention.

FIG. 5 is a flow diagram illustrating some aspects of the invention.

FIG. 6 is a flow diagram illustrating a system implementing some aspectsof the invention.

DETAILED DESCRIPTION

This invention covers a novel method for wireless communication.According to the claimed invention, an application requests a data rateand Quality of Service. The system determines the number of subchannels,the quality of the subchannels, and the power for transmission on thesubchannels necessary to achieve the requested data rate and QoS. If thetransmission environment is such that the selected parameters are notachievable, the system can either modify the selected parameters orsignal to the application through the stack that the requested serviceis not possible. The invention may be implemented in hardware orsoftware, or some combination thereof. Software implementations, forexample, could be in the operating system or in a device driver.Embodiments include a system, a method, and instructions stored in acomputer-readable medium.

Computer readable media can be any available media that can be accessedby a computer. By way of example, and not limitation, computer readablemedia may comprise computer storage media and communication media.Computer storage media includes volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer readable instructions, data structures,program modules or other data. Computer storage media includes, but isnot limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, other types of volatile and non-volatilememory, any other medium which can be used to store the desiredinformation and which can accessed by a computer, and any suitablecombination of the foregoing.

The computer-readable media may be transportable such that theinstructions stored thereon can be loaded onto any suitable computersystem resource to implement the aspects of the present inventiondiscussed herein. In addition, it should be appreciated that theinstructions stored on the computer-readable medium, described above,are not limited to instructions embodied as part of an applicationprogram running on a host computer. Rather, the instructions may beembodied as any type of computer code (e.g., software or microcode) thatcan be employed to program a processor to implement the aspects of thepresent invention discussed below.

This invention is not limited in its application to the details ofconstruction and the arrangement of components set forth in thefollowing description or illustrated in the drawings. The invention iscapable of other embodiments and of being practiced or of being carriedout in various ways. Also, the phraseology and terminology used hereinis for the purpose of description and should not be regarded aslimiting. The use of “including,” “comprising,” or “having,”“containing,” “involving,” and variations thereof herein, is meant toencompass the items listed thereafter and equivalents thereof as well asadditional items.

The invention may be embodied in either a wired OFDM communicationsystem or a wireless OFDM communication system.

As shown in FIG. 1, in OFDM, the available channel bandwidth W issubdivided into a number of equal-bandwidth subchannels. Each subchannelis sufficiently narrow so that the frequency response characteristics ofthe subchannel are nearly ideal. The number of subchannels is the totalavailable bandwidth divided by the bandwidth of each subchannel. Thenumber of subchannels K can thus be expressed as:

$K = \frac{W}{\Delta \; f}$

Each subchannel k has an associated carrier wave. This carrier wave canbe expressed as:

x _(k)(t)=sin 2πf _(k) t

Where x_(k)(t) is the carrier wave for subchannel k as a function oftime t. f_(k) is the mid-frequency of subchannel k, and k ranges from 0to K−1. The phase of x_(k)(t) is set to zero without losing generality.

The symbol rate 1/T is set for each subchannel to be equal to theseparation Δf of adjacent subcarriers. The subcarriers will thus beorthogonal over the symbol interval T, independent of the relative phaserelationship between subcarriers. This relationship can be expressed as:

∫₀^(T)sin (2π f_(k)t + φ_(k))sin (2π f_(j)t + φ_(j)) t = 0

Where f_(k)−f_(j)=n/T, n=1, 2, . . . , independent of the values of the(arbitrary) phases Φ_(k) and Φ_(j).

In an OFDM system, the symbol rate on each subchannel can be reducedrelative to the symbol rate on a single carrier system that employs theentire bandwidth W and transmits data at the same rate as the OFDMsystem. Hence, the symbol interval T (the inverse of the symbol rate) inthe OFDM system can be expressed as:

T=KT_(s)

where T_(s) is the symbol interval of a single-carrier system employingthe entire bandwidth W and transmitting data at the same rate as theOFDM system. For example, if the symbol rate across the entire bandwidthfor one channel is 72 million symbols per second, and the channel isdivided into 48 subchannels, each subchannel would only need to carry1.5 million symbols per second to achieve the same total data rate. Thislower symbol rate reduces inter-symbol interference and thus mitigatesthe effects of multi path fading. Accordingly, OFDM provides forsuperior link quality and robustness of communication.

In an OFDM system, the transmitter receives input data in the frequencydomain and converts it to a time domain signal. A carrier wave ismodulated by the time domain signal for wireless transmission ortransmission over a wire. The receiver receives the signal, demodulatesthe wave, and converts the signal back to the frequency domain forfurther processing,

A simplified OFDM system is illustrated in FIG. 2. In the illustratedembodiment, the input data stream 201 is provided by the application tothe OFDM transmitter 200. In a standard TCP/IP communications stack,this data could be received at the physical layer or data link layer;however, the invention is not limited to any particular source of dataor mechanism for providing the data to the transmitter, and could beimplemented in hardware or software, and at various layers of thenetwork it stack. The input data stream 201 is received by aserial-to-parallel buffer 202. The serial-to-parallel buffer 202 breaksthe serial data stream up into several parallel data streams. The numberof parallel data streams is equal to the number of subchannels availablefor OFDM broadcast, or K as used above.

In one embodiment, the serial-to-parallel buffer 202 divides theinformation is sequence received from input data 201 into frames ofB_(f) bits. The B_(f) bits in each frame are parsed into K groups, wherethe ith group is assigned b_(i) bits. This relationship may be expressedas:

${\sum\limits_{i = 1}^{K}\; b_{i}} = B_{f}$

Each of the parallel data streams generated by the serial-to-parallelbuffer 202 is then sent to a multicarrier modulator 203. Themulticarrier modulator 203 modulates each OFDM subcarrier with each ofthe parallel data streams. The multicarrier modulator 203 can beefficiently implemented by use of the Inverse Fast Fourier Transform(IFFT) algorithm to compute the time domain signal, although anyalgorithm may be used that converts a frequency domain signal to a timedomain signal. Fast ITT algorithms have been the subject of research fordecades, and there are numerous low complexity implementations thatfacilitate the implementation of OFDM systems.

The multicarrier modulator 203 may use any modulation scheme to modulateeach of the incoming data streams. In preferred embodiments, the signalsare modulated with phase shift keying (PSK) modulation, or quadratureamplitude modulation (QAM). Any PSK or QAM constellation may be used,such as those used in the wireless LAN family of standards, including802.11a, 802.11g, and 802.11n. For example, the modulator may use 8PSK,16-QAM, 64-QAM, 128-QAM or 256-QAM. A modulation scheme may be selectedbased on the required data rate, the available subchannels, the noise oneach subchannel, or other factors.

In this example, the multicarrier modulator 203 thus generates Kindependent QAM subchannels, where the symbol rate for each subchannelis 1/T and the signal in each subchannel has a distinct QAMconstellation. According to this example, the number of signal pointsfor the ith subchannel can be expressed as:

M_(i)=2^(b) ^(i)

The complex-valued signal points corresponding to the informationsignals on each of the K subchannels can be represented as X_(k), wherek=0, 1, . . . , K−1. These symbols X_(k) represent the values of theDiscrete Fourier Transform (DFT) of a multicarrier OFDM signal x(t),where the modulation on each subcarrier is QAM. Since x(t) must be areal-valued signal, its N-point DFT X_(k) must satisfy the symmetryproperty. Therefore, the system creates N=2K symbols from K informationsymbols by defining:

X _(N−K) =X* _(K) , k=1,2, . . . , K−1

X′ ₀ =Re(X ₀)

X _(N) =Im(X ₀)

Here X₀ is split into two parts, both of which are real, The newsequence of symbols can be expressed as X′_(k), where k=0, 1, . . . ,N−1. The N-point Inverse Direct Fourier Transform for each subchannelx_(n) can thus be expressed as:

$x_{n} = {\frac{1}{\sqrt{N}}{\sum\limits_{k = 0}^{N - 1}\; {X_{k}^{\prime}{\exp ( {j\; 2\; \pi \; {{nk}/N}} )}}}}$n = 0, 1, …  , N − 1

In this equation,

$\frac{1}{\sqrt{N}}$

is a scale factor. The sequence x_(n) where 0<=n<=N−1 thus correspondsto samples of the multicarrier OFDM signal x(t), consisting of Ksubcarriers.

A cyclic prefix, which acts a guard interval, is added to each of theparallel modulated waves 204. This guard interval insures that thesubchannels will remain orthogonal, even if multipath fading causes thesubcarriers to arrive at the receiver with some delay spread. Theparallel streams with the cyclic prefix are then merged back into asingle serial stream at 204. Finally, the digital data stream isconverted to an analog signal 205, and output for wireless transmission.

The transmitted signal can be received by the receiver 210 and processedto recover the original data stream. First, the analog signal isconverted back to a digital signal by an analog to digital converter211. The cyclic prefix is removed and the separate subcarriers areconverted back to separate streams at 212. Each parallel data stream isdemodulated by a multicarrier demodulator 213, preferably with a FastFourier Transform (EFT) algorithm. Finally, at 214 the parallel streamsare reassembled into a single serial stream and output to the receivingdevice 215.

As illustrated in FIG. 3, in one embodiment, an application 301 requestsa data rate 302 and a Quality of Service 303. The application 301 can beany network application, including, for example, a Voice-over-IP clientor a streaming video application. The data rate 302 and Quality ofService 303 requested by the application 301 may depend on the nature ofthe content to be transmitted. For example, high-definition videorequires a higher data rate than simple voice or text communication.Voice-over-IP requires that latency or delay be less than a certainmaximum amount. Communications relating to emergency services mayrequire a very low error rate and high priority of transmission.

The requested data rate 302 is the data rate appropriate for theapplication 301. For example, a high definition video application couldrequest a data rate of 22 Mbps, while an instant messenger clienttransmitting only text could request a much lower data rate.

Similarly, the Quality of Service 303 is the Quality of Serviceappropriate for the application 301. The Quality of Service can be anyset of communications parameters, including, for example, parametersrelating to performance, throughput, or latency. The IEEE 802.1pstandard provides one example of a set of Quality of Service parameters.Under the IEEE 802.1p standard the following parameters are essentialfor providing a Quality of Service:

-   -   Service Availability    -   Frame loss    -   Frame missorder    -   Frame duplication    -   The transit delay experienced by frames    -   Frame lifetime    -   The undetected frame error rate    -   Maximum service data unit size supported    -   User priority    -   Throughput

Under the IEEE 802.1Q standard, the requested QoS is set to a valuebetween 0 and 7. Each such value corresponds to a delay and probabilityof error. In other embodiments, an in-band protocol header contains theQoS. For example, Differentiated Services Code Point (DSCP) is stored inthe Type of Service (TOS) field in the IPv4 protocol header and in theTraffic Class field in the header. A network can be configured such thatDSCP-marked traffic can have differentiated levels of service. Inanother embodiment, the QoS may be encoded in an out-of-band statevariable. According to the claimed invention, any method may be used forrequesting a QoS.

FIG. 4 illustrates the steps taken in one embodiment in response to anapplication's request for a particular data rate and Quality of Service.In the discussion of FIG. 4, the steps described are implemented on atransmitter. The transmitter could be part of a network card, a devicedriver, or a component of an operating system. The invention is notlimited to any particular implementation of a transmitter, whetherhardware or software.

In the embodiment illustrated in FIG. 4, the application 401 requests adata rate R and a Quality of Service q. The network interface card (NIC)or wireless standard may have a minimum transfer rate R_(min), a maximumtransfer rate R_(max), or both. For example, is the following maximumrates apply to various IEEE 802.11 wireless standards:

Wireless Standard R_(max) 802.11b  6 Mbps 802.11a  26 Mbps 802.11n (20MHz) 100 Mbps 802.11n (40 MHz) 200 Mbps

At 402, if R_(min) or R_(max) is defined for the NIC or wirelessstandard, the transmitter checks if the requested data rate R is betweenR_(min) and R_(max). This test can be expressed mathematically as:

R_(min)<R<R_(max)

R is not an acceptable value, the transmitter can either signal to theapplication that the requested service is not possible at 403, or selectanother data rate at 404. The data rate selected at 404 may be theclosest data rate to the requested data rate that is within theacceptable range R_(min) to R_(max).

If the requested data rate R is an acceptable value, at 405 thetransmitter maps the requested data rate R and the requested QoS q to anumber of OFDM subchannels K and a maximum energy level for each ofthose subchannels E. The number of subchannels K and maximum energylevel E must be sufficient to meet the requested data rate R and QoS q.Optionally, the transmitter can include in the mapping the power level Pfor transmission on the K subchannels. Including a power level P isadvantageous where the invention is implemented in a device that islimited by battery capacity, for example, a cell phone, Personal DigitalAssistant (PDA), or laptop computer.

At 406, the transmitter detects the energy or noise level on all of theavailable subchannels. According to the embodiment in FIG. 4, the OFDMsystem provides for N subchannels. The detected energy level on eachsubchannel can be represented by the set D as follows:

D={D₁, D₂, . . . , D_(N)}

Where D₁ is the energy level detected on the first subchannel and D₂ isthe energy level detected on the second subchannel, continuing on for Nsubchannels.

At 407-414, the transmitter examines each value in set D to identify thesubchannels whose noise level is below the required maximum noise levelE. The transmitter begins the process at 407 by setting an indexvariable to the first value in set D. At 408, for the selected member ofset D, the transmitter compares the energy level of the selected memberwith the threshold value E. If the subchannel has sufficiently lownoise, it is added to set C at 409. If the noise is too high, thesubchannel is dropped from consideration at 412. At 410, if set C has asufficient number of subchannels to meet the is requirement Kestablished at 405, the transmitter can begin transmitting on theselected subchannels in set C at power P at 411. If the transmitter hasnot identified a sufficient number of subchannels meeting the criteria,at 413 the transmitter advances to the next subchannel and continues totest each subchannel until a sufficient number of subchannels areidentified, repeating steps 408-414.

In an alternative embodiment, the transmitter detects energy onsubchannels individually until it has identified a sufficient number ofsubchannels to meet the requirements established at 405.

At 414, if the detected energy level for all of the subchannels havebeen tested and the transmitter has not identified a sufficient numberof subchannels to meet the criteria K and E (and optionally P)established at 405, the transmitter can take any of the followingactions:

-   -   At 415, the transmitter can select a new value q_(new) for the        Quality of Service. q_(new) can be any value less than q.    -   At 404, the transmitter can select a new value for the data        rate. r_(new) can be any value less than r.    -   The transmitter could select both a lower QoS q_(new) at 415 and        a lower data rate r_(new) at 404.    -   At 403, the transmitter can signal the application 401 that the        requested R and q are not possible in the current network        environment.

One example of a means for signaling the application that the requestedtransmission characteristics are unavailable is the Generic QoS API(GQoS) implemented in the Microsoft Windows protocol stack, whichprovides feedback to the application regarding the status of thenetwork.

In response to a notification that the requested transmissioncharacteristics are unavailable, the application 401 can respond inseveral different ways. For example, if the content to be transmitted isstreaming video, the application 401 might choose to transmit lowerquality or more highly compressed video and thus request a lower datarate for the transmission. If the content to be transmitted is VoIPcommunications and a minimal QoS cannot be obtained, the application 401might cancel the attempt to make a connection and notify the user thatthe communication is not possible, or alternatively it could select ahigher compression level for the encoded audio and request a lower datarate R at the same QoS from the transmitter. In another embodiment, theapplication 401 could prompt the user that a high quality connection isnot possible but ask the user whether the application 401 should attemptto communicate at a lower quality. In the case where the applicationattempts to create a connection with different transmission properties,the transmitter will repeat steps 402-415 with the newly requestedproperties.

Another aspect of the invention is the possibility of minimizing thepacket assembly delay for time sensitive low data rate streams such asVoIP traffic by attempting to minimize the number of OFDM subchannelsallocated for transmission. In typical high data rate OFDM systems theOFDM symbol size exceeds the size of a VoIP packet. Commonly-implementedmethods to address this issue are (1) the transmitter may send a nearlyempty OFDM symbol or (2) the transmitter accumulates enough voicepackets to transmit a full OFDM symbol before sending. In case (1), theoverall efficiency of spectrum use is reduced while in case (2) audioquality is diminished due to the increased latency from the transmitterwaiting for enough packets to accumulate to transmit a full symbol.

In order to better accommodate VoIP traffic, the mapping at 405 canattempt to minimize the number of subchannels to be used K. In thisembodiment, the specific transmission requirements of VoIP are satisfiedwithout sacrificing high spectral efficiency. This embodiment could beimplemented at the operating system level, where the operating systemwould request a certain data rate that is derived from the applicationalong with the delay requirements. The subchannel mapping that occurs at405-414 chooses the number of subchannels to match the requirements andchannel conditions.

As illustrated in FIG. 5, in this embodiment, the operating system takesthe following steps in response to a request from the application tooptimize transmission characteristics to accommodate network trafficthat requires low latency hut does not require a full OFDM symbol totransmit at the requested rate:

-   -   The application 501 requests a QoS q at 502, where that QoS        includes low latency transmission (as for VoIP traffic) and a        data rate R at 503.    -   At 505, the Operating System 504 computes the size of the symbol        (number of bytes) based on the data rate and the maximum        packetization delay for the data stream.    -   At 506, the Operating System computes the number of subchannels        and the modulation scheme needed for transmitting the symbols        given the channel conditions.    -   The Operating System continuously adjusts the modulation scheme        and number of subchannels based on feedback from the transmitter        507.

Although VoIP is used as an illustrative example in this aspect of theinvention, this aspect of the claimed invention can be applied inresponse to a request for transmission from any application that sendsnetwork packets smaller than a full OFDM symbol at the requested rate.

In yet another aspect of the invention the transmitter receives feedbackfrom the receiver based on successful transmissions. This feedback couldbe, for example, in the form of acknowledgement packets. If noacknowledgement packets are received by the transmitter despite multipleretransmission attempts, the transmitter can conclude that the energylevel given the modulation scheme is insufficient. In order to maintainthe requested QoS, the transmitter can add subchannels dynamically tothe set C of subchannels used for transmission. Another alternativeapproach in case the feedback indicates successful transmission is tolower the modulation scheme used. By selecting a lower order modulationscheme, the transmitter can achieve more robust transmission. Similarly,the lack of transmission errors over an extended period of time may beused to reduce the numbers of subchannels or increase the modulation toa higher order modulation scheme.

In another embodiment, the number of subchannels K is held constant butthe transmitter selects the energy level based on the requested QoS. Inthis embodiment, high priority data streams are transmitted in a morerobust way. For example, applications requesting QoS priority 7 underthe IEEE 802.1Q standard typically transmit network control traffic,while priority 6 is used for VoIP traffic. Under IEEE 802.1Q, bothpriorities 6 and 7 require highly reliable transmission and low delayrespectively. The transmitter selects robust transmissioncharacteristics in response to the requested priorities, thus reducingthe chance of packet errors and thus retransmissions. Thesecharacteristics could include a lower data rate or higher powertransmission.

In another embodiment, an out-of-band channel is available forcommunication between the transmitter-receiver pair. For example, a dualband wireless access point may communicate with a dual band c lent. Thiscommunication could occur in the 802.11a (5 GHz) band. When thetransmitter cannot identify a sufficient number of subchannels below therequired energy threshold to achieve the requested QoS and data rate,the transmitter may select one of two solutions. The first solution isthe preferred embodiment discussed above, wherein the transmittersignals to the application that the requested transmissioncharacteristics are not possible, and the application may then alter therequested parameters as shown in FIG. 4. The second solution relies onthe availability of reliable out-of-band signaling, as in a dual bandwireless access point. In this embodiment, the application at thetransmitter end of the connection can signal the application on thereceiver end of the connection using the 2.4 GHz band at the lowestorder modulation scheme. The signal sent from the transmitter to thereceiver indicates that a requested QoS is not possible in the networkenvironment. In this case, the receiver application may be able toaccommodate a lower QoS, or the receiver may have a bettersignal-to-noise ratio than that detected by the transmitter. Thereceiver may then signal the transmitter to begin transmitting despitethe energy levels detected by the transmitter.

FIG. 6 illustrates another embodiment of the invention. FIG. 6 shows asystem 600 comprising an application 601, a subchannel/energy mappingmodule 602, a signaling module 603, and a noise detection module 604.The application 601 requests a data rate and QoS. The subchannel/energymapping module 602 maps the requested data rate and QoS to a number ofsubchannels K and an energy threshold E. Independently, the noisedetection module 604 detects the energy level on the available OFDMsubchannels. The signaling module 603 processes the output of the noisedetection module 604 and the subchannel/energy mapping module 602 todetermine whether there are enough subchannels whose noise level isbelow the energy threshold E to meet the requirement of K subchannels.If the signaling module 603 determines that there are insufficientsubchannels, it can either signal the subchannel/energy mapping module602 to select different requirements, or it can signal the application601 that the requested transmission characteristics are not available.

In another embodiment, the communication Occurs over wires. Thecommunication may occur over an Asymmetric Digital Subscriber Line(ADSL) system, over power lines, or over any other wired communicationsystem implementing OFDM modulation.

In yet another embodiment, the invention relates to a computer-readablemedium having computer-executable instructions for performing steps. Thesteps include receiving a requested data rate and Quality of Servicefrom an application, mapping the requested transmission characteristicsinto a minimum number of subchannels, an energy threshold, andoptionally the transmission power, identifying subchannels whose energyis below the required energy threshold, and signaling the application inthe event that a sufficient number of subchannels cannot be identified.

Having thus described several aspects of at least one embodiment of thisinvention, it is to be appreciated various alterations, modifications,and improvements will readily occur to those skilled in the art. Suchalterations, modifications, and improvements are intended to be part ofthis disclosure, and are intended to be within the spirit and scope ofthe invention. Accordingly, the foregoing description and drawings areby way of example only.

What is claimed is:
 1. A method performed on a computing device, themethod comprising: receiving, by a receiver of the computing device, amodulated analog data stream; converting, by the analog-to-digitalconverter of the computing device, the received modulated analog datastream to a modulated serial digital data stream; converting, by aserial-to-parallel converter of the computing device, the modulatedserial digital data stream into modulated parallel digital data streamsthat are each on a separate subchannel, where each separate subchannelis one of a plurality of subchannels of a channel, where the separatesubchannels were selected based on a requested data transmission rateand on noise levels detected on various of the plurality of subchannels;demodulating, by a multicarrier demodulator of the computing device,each of is the modulated parallel digital data streams resulting in aplurality of parallel digital data streams; and converting, by aparallel-to-serial converter of the computing device, the plurality ofparallel digital data streams into a serial digital data stream.
 2. Themethod of claim 1 further comprising removing a cyclic prefix fromsubcarriers of the modulated parallel digital data streams prior todemodulating each of the modulated parallel digital data streams.
 3. Themethod of claim 2 where the cyclic prefixes act as guard intervals thatcause transmitted subchannels to remain orthogonal even if thesubcarriers arrive at the analog-to-digital converter with delay spread.4. The method of claim 1 where the serial digital data stream is outputto an application or a comnunications stack.
 5. The method of claimwhere each of the modulated parallel digital data streams is demodulatedaccording to a phase shift keying modulation scheme.
 6. The method ofclaim 1 where each of the modulated parallel digital data streams isdemodulated based on a quadrature amplitude modulation.
 7. The method ofclaim 1 where the separate subchannels were further selected to meet aparticular quality of service.
 8. A computing device comprising; areceiver via which the computing device receives a modulated analog datastream; an analog-to-digital converter via which computing deviceconverts the received modulated analog data stream to a modulated serialdigital data stream; a serial-to-parallel converter via which thecomputing device converts the modulated serial digital data stream intomodulated parallel digital data streams that are each on a separatesubchannel, where each separate subchannel is one of a plurality ofsubchannels of a channel, where the separate subchannels were selectedbased on a requested data transmission rate and on noise levels detectedon various of the plurality of subchannels; a multicarrier demodulatorvia which the computing device demodulates each of the modulatedparallel digital data streams resulting in a plurality of paralleldigital data streams; and a parallel-to-serial converter via which thecomputing device converts the plurality of parallel digital data streamsinto a serial digital data stream.
 9. The computing device of claim 8further comprising a processor via which the computing device removes acyclic prefix from subcarriers of the modulated parallel digital datastreams prior to demodulating each of the modulated parallel digitaldata streams.
 10. The computing device of claim 9 where the cyclicprefixes act as guard intervals that cause transmitted subchannels toremain orthogonal even if the subcarriers arrive at theanalog-to-digital converter with delay spread.
 11. The computing deviceof claim 8 where the serial digital data stream is output to anapplication or a communications stack.
 12. The computing device of claim8 where each of the modulated parallel digital data streams isdemodulated according to a phase shift keying modulation scheme.
 13. Thecomputing device of claim 8 where each of the modulated parallel digitaldata streams is demodulated based on a quadrature amplitude modulation.14. The computing device of claim 8 where the separate subchannels werefurther selected to meet a particular quality of service.
 15. At leastone computer storage device storing computer-executable instructionsthat, based on execution by a computing device, configure the computingdevice to perform actions comprising: receiving, by a receiver of thecomputing device, a modulated analog data stream; converting, by theanalog-to-digital converter of the computing device, the receivedmodulated analog data stream to a modulated serial digital data stream;converting, by a serial-to-parallel converter of the computing device,the modulated serial digital data stream into modulated parallel digitaldata streams that are each on a separate subchannel, where each separatesubchannel is one of a plurality of subchannels of a channel, where theseparate subchannels were selected based on a requested datatransmission rate and on noise levels detected on various of theplurality of subchannels; demodulating, by a multicarrier demodulator ofthe computing device, each of the modulated parallel digital datastreams resulting in a plurality of parallel digital data streams; andconverting, by a parallel-to-serial converter of the computing device,the plurality of parallel digital data streams into a serial digitaldata stream.
 16. The at least one computer storage device of claim 15,the actions further comprising removing a cyclic prefix from subcarriersof the modulated parallel digital data streams prior to demodulatingeach of the modulated parallel digital data streams.
 17. The at leastone computer storage device of claim 16 where the cyclic prefixes act asguard intervals that cause transmitted subchannels to remain orthogonaleven if the subcarriers arrive at the analog-to-digital converter withdelay spread.
 18. The at least one computer storage device of claim 15where each of the modulated parallel digital data streams is demodulatedaccording to a phase shift keying modulation scheme.
 19. The at leastone computer storage device of claim 15 where each of the modulatedparallel digital data streams is demodulated based on a quadratureamplitude modulation.
 20. The at least one computer storage device ofclaim 15 where the separate subchannels were further selected to meet arequested quality of service.